Election forecasting is of great interest to many people. Politicians might use it to adjust campaign strategies, economists might use it to predict how markets will react, and citizens might use it to decide whether to vote. Many polls are carried out in an attempt to predict the winner of an election, however these polls often don't capture the whole picture. Polls can be biased, they can change over time, and perhaps most importantly, they don't always reveal who will show up to vote on election day. In order to have a more accurate election prediction model, voter turnout is a critical factor to consider. For example, if one candidate is predicted to win by a large margin in the polls, that might cause some people not to show up to vote on election day. Additionally, some polls include people who might not actually be registered to vote.
In this report, we seek to build a comprehensive model predicting who votes, specifically in the state of North Carolina. First, we will cover a brief literature review of other voter turnout models that have been constructed in the past. Next, we will discuss the data used to build our models. After that, we will walk through the construction of our model, and we will discuss our results.
Previous studies have examined different ways of estimating who votes, but there does not appear to be any general consensus in the best way of modeling this. In one study (Wislek), the author attempts to predict voter turnout rates based on an area's violent crime rate, number of US House Representatives, and several other political factors. However, this data is examined at the state level, so there might be differences across counties that aren't being captured.
Another paper by Challenor states the importance of likely voter models in election forecasting, and goes onto predict voter turnout based on US Census questions. They compared several models, the best of which had 87.82% accuracy, and determined that the features most correlated with voting included education level, marital status, and major job industry, while the variables with least correlated with voting were marital status based on armed forces participation, intermediate job industry, and age.
In Grofman's paper, "Models of voter turnout: a brief idiosyncratic review," he examines many old studies about voting models, and some date back to as early as 1957. He says that the two main schools of thought in voter prediction modeling are predicting turnout in terms of demographic or attitudinal factors and the other is estimating voter turnout by thinking of voting as a "rational choice calculus" where citizens estimate the costs and benefits of voting. In the end, he determines that both methods produce similar results: it is very hard to explain which individuals will vote or not, but models have found more success in predicting which categories of people vote depending on group characteristics and the election.
Several data sources were used to build the model. To start, we used information from the North Carolina voter registration database. The first dataset from this source was a file containing all registered voters in North Carolina. Each row represents an individual, and we also have their current voter status, the county they live in, the day they registered to vote, what political party they're a member of, as well as other demographic information like race, ethnicity, gender, and age. The second dataset from this source contained actual voting records from the 2016 and 2018 elections. Each row represents a vote, and includes other information like county, voter registration number, election, voting method, which party was voted for, and the precinct.
To engineer an appropriate data set relevant to the research goals, we first merged both data sets together using the voting registration numbers to have a collective dataset with all the predictors relevant to the study. We then modified the ages of voters from their specific ages to age groups, so as to align with other census data, and allow for better interpretability of this predictor when performing model analysis. The dataset from the Census was recoded in general to fit the dataset containing registered voters that included extensive transfiguring. Finally, we grouped the data into different groups based on our factored predictors, resulting in a dataset with 30673 rows and 7 columns. Details of the predictor variables are described in Table 1.1.
| Metric | Groups |
|---|---|
| n | Number of voters |
| race | A = Asian, B = Black or African American, I = American Indian or Native American, |
| M = Two or more races , O = Other , U = Undesignated, W = White | |
| gender | M = Male, F = Female, U = Preferred not to respond |
| ethnicity | HL = Hispanic or Latino, NL = Non-hispanic/Non-Latino, UN = Undesignated |
| age group | Age groups of 18-24, 25-44, 45-64, 65+ |
| county | North Carolina's 100 counties |
| election date | Election dates of 11/06/2018, 11/08/2016 |
Performing explanatory data analysis on the data set, we noted that there are unequal representation of certain groups within each predictor variables. Figures 1.1-1.4 show histograms of the counts of observations in terms of age group, race, ethnicity and gender. From these plots, we can observe that the majority of the observations that represent voters disproportionately identify their race as white, or identify their ethnicity as HL. We have slightly more female voters than male voters with little representation outside of these two specified genders, as well as having most of the voters between the ages of 45-64.
To build the model that predicts who votes specifically in the state of North Carolina, our approach involved using a binomial multi-level model to predict the number of voters based on groups in our predictor variables. We fit a logistic regression model with the response variable being the number of people who voted, and the predictor variables being race, ethnicity, election date (2016 and 2018), gender and county, with all predictors being factor variables.
The model for race \(i\), ethnicity \(j\), election date \(k\), gender \(l\),county \(m\) and age group \(q\) to predict the number of people who voted \(n_{voting,ijklm}\) can be written in statistical notation as:
\[ \begin{aligned} n_{voting,ijklq} \sim Binomial(n_{ijklq}, p_{ijklq}) \\ \\ logit(p_{ijklq}) = \alpha_{county} + \sum_{i = 1}^{7} \beta_i * race_i + \sum_{j=8}^{10} \beta_j* ethnicity_j + \beta_{11} * electiondate_k \\ + \sum_{l=12}^{14} \beta_l * gender_l + \sum_{q=15}^{18} \beta_q * agegroup_q\\ + \sum_{r = 19}^{89} \beta_r *\text{(all two-way interactions, excluding electiondate)} \\ \alpha \sim N(0,0.1) , \beta_b \sim N(0,0.1) \end{aligned} \]
The binomial variable is modeled as the number of people voting in any given group, as compared to the number of registered voters in that group.(\(p\) modeling the proportion of registered voters in that group who actually voted.) The probabilities \(p\) are based around this ratio. We believe North Carolina Census totals would be a better representation than number of registered voters in 2008-2018. However, we found inconsistencies in the data; when we compared Census totals to voter totals for a given year, we found some groups had much larger than 100% voter turnout. While this could be due to any number of factors, most of the groups with such inconsistencies were in the 18-24 or 25-44 age brackets, which could imply that numbers are thrown off by a large population of college students who vote in North Carolina but who are accounted for elsewhere in the census.
As a start, we are using N(0,0.1) for all intercepts and coefficients with prior motivations being the intuitive expectation for various factors to have equal effects on whether someone votes or not. Furthermore, in order to estimate the number of people who voted as a binomial probability, we give a number of "trials" using the number of registered voters in those groups as that number. This is so the predicted probabilities obtained from the model accurately reflect the proportion of registered voters who are actually voting. The baseline for our model predicts the number of people voting in the 2018 mid-term election that are white, female, non-Hispanic and in the age group of 18-24.
Given the motivation for our model is interpretation, predictive accuracy is less important than overall model fit. To demonstrate the effectiveness of our model in fitting the data, residual plots are shown. A plot of actual versus predicted values of number voting per group shows an almost perfect linear association, indicating that the model's predictions were generally accurate. A plot of residuals versus predicted values is centered at zero, and with generally equal numbers of positive and negative residuals. The variance seems to increase as group populations increase, but as a percentage of population, these residuals are not indicative of a serious poor fit, as per the linear trend in actual versus predicted values. A histogram of residuals shows normality, centered at zero.
Posterior predictive charts are shown, demonstrating that the distribution of actual values matches distribution of posterior samples relatively well, and that average predicted error tends to be close to zero, deviating primarily where populations are large. Leave-one-out cross validation estimates were computed on the model using the loo package as well. This indicated a poor model specification with a value of the effective number of parameters much greater than the true number of parameters (3010 vs. 89). However, there is room for doubt that this indicates a poor fit, given the effectiveness shown in the residual plots. We speculate that leave-one-out cross validation may not be a good metric for evaluation with 30,000 rows of data. We began evaluating the model using an approximation to 10-fold cross validation instead. Though results are not ready for this submission, they will be included in subsequent submissions.
In addition to our model built using a prior variance of 0.1 for all coefficients, we also built a model with variance of 0.001 for comparison. A third model, with prior variances 0.01, was also created, but did not finish running in time for proper comparison with the other models.
Comparing the model with 0.1 variance to the model with 0.001 variance, the coefficients in the latter model were understandably all very close to zero. To determine which model better fit the data, we used the loo package to estimate leave-one-out cross validation error based on the posterior samples generated in brms. This specification outputs a value representing the difference in expected log pointwise predictive density between the two models. If this value has a high magnitude, it indicates that one model has significantly outperformed the other in estimated leave-one-out cross validation. The value came out to -405534, indicating that the model with variance 0.1 provided a substantially better fit than the model with stronger priors.
Additionally, posterior predictive checks show the average prediction error of the model with stronger priors tends to be less accurate than that of the primary model. Both models also seemed to display good mixing behavior, and the traceplots can be seen in the Appendix.
Posterior predictive checks on average predictive error. Left is model with 0.1 variance, right is model with 0.001 variance priors.
When controlling for county as a random effect, we estimate the odds that a white, female, non-Hispanic female between the ages of 18-24 in North Carolina voted in the 2018 mid-term election is 0.2893842. There are 100 different intercepts for the 100 counties in North Carolina, and these estimates have a standard deviation of 0.14.
Holding all else constant, we estimate that the odds a given person voted in the 2016 election to be multiplied by a factor of 1.7160069 than the odds they voted in the 2018 mid-term elections. It makes intuitive sense that the odds of voting in 2016 are higher, since it seems that more people tend to vote in presidential elections. This also suggests that using 2016 voting estimates could help us better determine voter turnout in 2020, since this is also a big presidential election.
When examining gender effects, the odds that someone who identifies as male votes are 0.9323938 times the odds that someone who identifies as female votes, holding all else constant. This suggests that women are more likely to vote than men. Additionally, people who did not specify their gender when registering to vote are 1.4918247 times more likely to vote than females, holding all else constant.
Everything else held constant, the odds that someone votes given they are black is 1.0100502 times the odds someone votes given they are white. If a person is Asian, American Indian, Multi-race, or something other, their respective odds of voting relative to someone white multiply by 0.9048374, 0.7788008, 1.1388284, and 0.6636503 respectively, holding all else constant. Lastly, for people who did not specify their race, their odds of voting are, holding all else constant, 0.5945205 times the odds of someone white voting.
In terms of ethnicity, the odds that someone votes given they are Hispanic or Latino is 0.9512294 times the odds of voting for someone who is not Hispanic or Latino, holding all else constant, and the odds of voting for someone who did not specify ethnicity are 0.9801987 times the odds of someone who is reportedly not Hispanic or Latino.
Finally, we examine the effect of age on odds of voting. Holding all other variables constant, the odds of voting seems to increase with age until one reaches 65, then it decreases a bit. Specifically, the odds of voting for someone between the ages of 25 and 44 is 2.5092904 times the odds of someone from 18-24 voting, the odds of voting for someone between the ages of 45 and 64 is 5.7546027 times the odds of someone from 18-24 voting, and the odds of voting for someone over 65 is 4.7588212 times the odds of someone from 18-24 voting.
All that being said, our model also includes lots of interaction effects. This means that the odds of voting vary differently depending on all the levels of our predictors. For example, our lowest interaction effect occurs when race and gender are both unspecified. This means that as we hold age, ethnicity, and election constant, we expect the odds of a person of unspecified race and gender's odds to multiply by an additional 0.6187834, or by a total of 0.5488116 times the odds of a white female voting. One of our highest interaction effects occurs when gender is unspecified and when ethnicity is Hispanic or Latino. This means that as we hold age, race, and election constant, we expect the odds of a person of unspecified race and gender's odds to multiply by an additional 1.9155408, or by a total of 2.7182818 times the odds of a white female voting.
For a full list of our model coefficients, please see the appendix.
Our model strives to predict voter turnout across different racial, ethnic, gender, and age groups. We chose to examine turnout at the group level, since previous literature stated that predicting whether or not an individual votes has not been very successful in the past. One of the major limitations in our model is due to the nature of the North Carolina voter registration data. Our file of registered voters included people who registered after the 2016 election, which means they would not have been able to vote then. Additionally, it omits people who haven't voted since 2008. For the 2020 election, there has been increased effort urging more and more people to vote, so it is possible that some of these overlooked people might decide to vote again. Also, on that same note, our model looks at the odds of voting in the 2016 presidential election and the 2018 midterm election. We are basing our predictions of voters in the 2020 election off of these past voter totals, but there could be something systematically different about this election that is not being captured in our model due to the use of past data. Further research could seek to make use of data from more sources, for example socio-economic status and education level. The inclusion of more predictors might improve our model fit.
Can Likely U.S. Voter Models Be Improved? (2020, May 30). Retrieved October 22, 2020, from https://www.pewresearch.org/methods/2016/01/07/comparing-the-results-of-different-likely-voter-models/
Challenor, T. (2017, December 15). Predicting Votes From Census Data. Retrieved October 22, 2020, from http://cs229.stanford.edu/proj2017/final-reports/5232542.pdf
Grofman, B. (1983). Models of Voter Turnout: A Brief Idiosyncratic Review: A Comment. Public Choice, 41(1), 55-61. doi:https://www.jstor.org/stable/30024032?seq=1#metadata_info_tab_contents
Wislek, J. (n.d.). Predicting Voter Turnout. Retrieved October 22, 2020, from https://scholar.valpo.edu/cgi/viewcontent.cgi?article=1906&context=cus
## Family: binomial
## Links: mu = logit
## Formula: n | trials(n_registered) ~ 1 + race_code + gender_code + ethnic_code + election_lbl + age_group + race_code:gender_code + race_code:ethnic_code + race_code:election_lbl + race_code:age_group + gender_code:ethnic_code + gender_code:election_lbl + gender_code:age_group + ethnic_code:election_lbl + ethnic_code:age_group + election_lbl:age_group + (1 | county_desc)
## Data: modeling_data (Number of observations: 30673)
## Samples: 2 chains, each with iter = 2500; warmup = 500; thin = 1;
## total post-warmup samples = 4000
##
## Group-Level Effects:
## ~county_desc (Number of levels: 100)
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sd(Intercept) 0.14 0.01 0.12 0.16 1.00 257 578
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat
## Intercept -1.24 0.01 -1.27 -1.22 1.03
## race_codeA -0.10 0.01 -0.13 -0.08 1.00
## race_codeB 0.01 0.00 0.00 0.02 1.00
## race_codeI -0.25 0.02 -0.29 -0.21 1.00
## race_codeM 0.13 0.02 0.10 0.16 1.00
## race_codeO -0.41 0.01 -0.43 -0.39 1.00
## race_codeU -0.52 0.01 -0.54 -0.49 1.00
## gender_codeM -0.07 0.00 -0.08 -0.07 1.00
## gender_codeU 0.40 0.01 0.37 0.43 1.00
## ethnic_codeHL -0.05 0.01 -0.07 -0.03 1.00
## ethnic_codeUN -0.02 0.00 -0.03 -0.01 1.00
## election_lbl11D08D2016 0.54 0.00 0.53 0.54 1.00
## age_group25M44 0.92 0.00 0.91 0.93 1.00
## age_group45M64 1.75 0.00 1.74 1.76 1.00
## age_group65P 1.56 0.00 1.56 1.57 1.00
## race_codeA:gender_codeM -0.04 0.01 -0.06 -0.02 1.00
## race_codeB:gender_codeM -0.42 0.00 -0.42 -0.41 1.00
## race_codeI:gender_codeM -0.13 0.01 -0.15 -0.10 1.00
## race_codeM:gender_codeM 0.03 0.01 -0.00 0.05 1.00
## race_codeO:gender_codeM -0.16 0.01 -0.17 -0.14 1.00
## race_codeU:gender_codeM -0.07 0.01 -0.08 -0.06 1.00
## race_codeA:gender_codeU 0.09 0.03 0.03 0.15 1.00
## race_codeB:gender_codeU -0.18 0.01 -0.20 -0.15 1.00
## race_codeI:gender_codeU 0.15 0.06 0.04 0.27 1.00
## race_codeM:gender_codeU 0.12 0.04 0.04 0.20 1.00
## race_codeO:gender_codeU 0.16 0.04 0.08 0.23 1.00
## race_codeU:gender_codeU -0.48 0.01 -0.50 -0.46 1.00
## race_codeA:ethnic_codeHL 0.25 0.05 0.16 0.35 1.00
## race_codeB:ethnic_codeHL -0.04 0.02 -0.07 0.00 1.00
## race_codeI:ethnic_codeHL 0.45 0.05 0.35 0.55 1.00
## race_codeM:ethnic_codeHL 0.13 0.02 0.10 0.17 1.00
## race_codeO:ethnic_codeHL 0.21 0.01 0.19 0.23 1.00
## race_codeU:ethnic_codeHL -0.15 0.01 -0.18 -0.13 1.00
## race_codeA:ethnic_codeUN 0.22 0.01 0.20 0.24 1.00
## race_codeB:ethnic_codeUN -0.04 0.00 -0.04 -0.03 1.00
## race_codeI:ethnic_codeUN 0.06 0.02 0.03 0.10 1.00
## race_codeM:ethnic_codeUN -0.05 0.02 -0.08 -0.02 1.00
## race_codeO:ethnic_codeUN -0.06 0.01 -0.08 -0.04 1.00
## race_codeU:ethnic_codeUN 0.39 0.01 0.36 0.41 1.00
## race_codeA:election_lbl11D08D2016 -0.19 0.01 -0.21 -0.17 1.00
## race_codeB:election_lbl11D08D2016 0.03 0.00 0.02 0.04 1.00
## race_codeI:election_lbl11D08D2016 -0.07 0.01 -0.10 -0.05 1.00
## race_codeM:election_lbl11D08D2016 -0.02 0.01 -0.05 0.00 1.00
## race_codeO:election_lbl11D08D2016 -0.08 0.01 -0.09 -0.06 1.00
## race_codeU:election_lbl11D08D2016 -0.10 0.01 -0.11 -0.09 1.00
## race_codeA:age_group25M44 -0.33 0.01 -0.35 -0.30 1.00
## race_codeB:age_group25M44 -0.09 0.00 -0.10 -0.09 1.00
## race_codeI:age_group25M44 -0.05 0.02 -0.09 -0.01 1.00
## race_codeM:age_group25M44 -0.35 0.02 -0.38 -0.32 1.00
## race_codeO:age_group25M44 -0.02 0.01 -0.04 0.00 1.00
## race_codeU:age_group25M44 0.07 0.01 0.05 0.09 1.00
## race_codeA:age_group45M64 -0.35 0.01 -0.37 -0.32 1.00
## race_codeB:age_group45M64 0.04 0.00 0.03 0.05 1.00
## race_codeI:age_group45M64 -0.12 0.02 -0.16 -0.08 1.00
## race_codeM:age_group45M64 -0.29 0.02 -0.33 -0.25 1.00
## race_codeO:age_group45M64 -0.02 0.01 -0.04 0.00 1.00
## race_codeU:age_group45M64 0.09 0.01 0.07 0.11 1.00
## race_codeA:age_group65P -0.33 0.02 -0.37 -0.29 1.00
## race_codeB:age_group65P 0.14 0.00 0.13 0.15 1.00
## race_codeI:age_group65P 0.15 0.02 0.11 0.20 1.00
## race_codeM:age_group65P -0.07 0.03 -0.14 -0.00 1.00
## race_codeO:age_group65P 0.18 0.01 0.15 0.21 1.00
## race_codeU:age_group65P 0.19 0.01 0.16 0.21 1.00
## gender_codeM:ethnic_codeHL -0.07 0.01 -0.09 -0.06 1.00
## gender_codeU:ethnic_codeHL 0.65 0.03 0.59 0.71 1.00
## gender_codeM:ethnic_codeUN 0.05 0.00 0.05 0.06 1.00
## gender_codeU:ethnic_codeUN -0.12 0.01 -0.15 -0.09 1.00
## gender_codeM:election_lbl11D08D2016 -0.09 0.00 -0.10 -0.09 1.00
## gender_codeU:election_lbl11D08D2016 -0.10 0.01 -0.11 -0.08 1.00
## gender_codeM:age_group25M44 -0.01 0.00 -0.02 -0.01 1.00
## gender_codeU:age_group25M44 -0.29 0.01 -0.31 -0.27 1.00
## gender_codeM:age_group45M64 0.07 0.00 0.07 0.08 1.00
## gender_codeU:age_group45M64 -0.39 0.01 -0.41 -0.37 1.00
## gender_codeM:age_group65P 0.18 0.00 0.17 0.19 1.00
## gender_codeU:age_group65P -0.26 0.01 -0.29 -0.24 1.00
## ethnic_codeHL:election_lbl11D08D2016 0.03 0.01 0.01 0.04 1.00
## ethnic_codeUN:election_lbl11D08D2016 0.02 0.00 0.01 0.02 1.00
## ethnic_codeHL:age_group25M44 -0.21 0.01 -0.23 -0.19 1.00
## ethnic_codeUN:age_group25M44 -0.17 0.00 -0.17 -0.16 1.00
## ethnic_codeHL:age_group45M64 -0.41 0.01 -0.43 -0.39 1.00
## ethnic_codeUN:age_group45M64 -0.42 0.00 -0.43 -0.41 1.00
## ethnic_codeHL:age_group65P -0.37 0.02 -0.40 -0.34 1.00
## ethnic_codeUN:age_group65P -0.27 0.01 -0.28 -0.26 1.00
## election_lbl11D08D2016:age_group25M44 0.27 0.00 0.26 0.28 1.00
## election_lbl11D08D2016:age_group45M64 0.12 0.00 0.11 0.13 1.00
## election_lbl11D08D2016:age_group65P 0.01 0.00 -0.00 0.01 1.00
## Bulk_ESS Tail_ESS
## Intercept 182 302
## race_codeA 2647 2166
## race_codeB 3691 3205
## race_codeI 2086 2398
## race_codeM 2830 2548
## race_codeO 2236 2353
## race_codeU 2285 2713
## gender_codeM 4252 3223
## gender_codeU 2715 2937
## ethnic_codeHL 2774 2743
## ethnic_codeUN 3509 2930
## election_lbl11D08D2016 4029 2991
## age_group25M44 3142 3421
## age_group45M64 2946 3489
## age_group65P 3109 3388
## race_codeA:gender_codeM 5849 2864
## race_codeB:gender_codeM 5541 2948
## race_codeI:gender_codeM 7015 2809
## race_codeM:gender_codeM 5416 2781
## race_codeO:gender_codeM 5265 3235
## race_codeU:gender_codeM 5940 3315
## race_codeA:gender_codeU 5812 2842
## race_codeB:gender_codeU 4597 2976
## race_codeI:gender_codeU 6020 3116
## race_codeM:gender_codeU 4802 3087
## race_codeO:gender_codeU 5721 3050
## race_codeU:gender_codeU 3609 3313
## race_codeA:ethnic_codeHL 5682 2942
## race_codeB:ethnic_codeHL 4734 2551
## race_codeI:ethnic_codeHL 4026 2989
## race_codeM:ethnic_codeHL 4068 3394
## race_codeO:ethnic_codeHL 4675 2962
## race_codeU:ethnic_codeHL 3396 2810
## race_codeA:ethnic_codeUN 6636 2783
## race_codeB:ethnic_codeUN 6215 3005
## race_codeI:ethnic_codeUN 5511 2837
## race_codeM:ethnic_codeUN 4086 3012
## race_codeO:ethnic_codeUN 7273 3422
## race_codeU:ethnic_codeUN 3434 3021
## race_codeA:election_lbl11D08D2016 5260 3257
## race_codeB:election_lbl11D08D2016 5600 3337
## race_codeI:election_lbl11D08D2016 6390 2805
## race_codeM:election_lbl11D08D2016 4317 2751
## race_codeO:election_lbl11D08D2016 5207 3315
## race_codeU:election_lbl11D08D2016 4643 2934
## race_codeA:age_group25M44 3207 2962
## race_codeB:age_group25M44 3869 3024
## race_codeI:age_group25M44 2270 2689
## race_codeM:age_group25M44 3724 2543
## race_codeO:age_group25M44 2547 2889
## race_codeU:age_group25M44 2438 2955
## race_codeA:age_group45M64 3068 2744
## race_codeB:age_group45M64 3404 2671
## race_codeI:age_group45M64 2183 2653
## race_codeM:age_group45M64 4096 3205
## race_codeO:age_group45M64 2566 2984
## race_codeU:age_group45M64 2430 3047
## race_codeA:age_group65P 3281 3159
## race_codeB:age_group65P 3888 3279
## race_codeI:age_group65P 2409 2899
## race_codeM:age_group65P 5098 2823
## race_codeO:age_group65P 3156 3028
## race_codeU:age_group65P 2311 2732
## gender_codeM:ethnic_codeHL 4954 3165
## gender_codeU:ethnic_codeHL 4615 2954
## gender_codeM:ethnic_codeUN 5920 2758
## gender_codeU:ethnic_codeUN 3630 3271
## gender_codeM:election_lbl11D08D2016 4695 3410
## gender_codeU:election_lbl11D08D2016 4688 3017
## gender_codeM:age_group25M44 4081 3413
## gender_codeU:age_group25M44 2409 2886
## gender_codeM:age_group45M64 4114 3353
## gender_codeU:age_group45M64 2379 2820
## gender_codeM:age_group65P 4400 3435
## gender_codeU:age_group65P 2659 2372
## ethnic_codeHL:election_lbl11D08D2016 5187 3003
## ethnic_codeUN:election_lbl11D08D2016 5750 3149
## ethnic_codeHL:age_group25M44 2861 2751
## ethnic_codeUN:age_group25M44 3723 3374
## ethnic_codeHL:age_group45M64 2859 3046
## ethnic_codeUN:age_group45M64 3573 3588
## ethnic_codeHL:age_group65P 3897 3318
## ethnic_codeUN:age_group65P 3904 3068
## election_lbl11D08D2016:age_group25M44 4279 3308
## election_lbl11D08D2016:age_group45M64 4143 2978
## election_lbl11D08D2016:age_group65P 4193 3245
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
Traceplots and posterior densities for all fit coefficients in the model with prior variances of 0.1:
plot(var1,ask = FALSE)
Same output for model with prior variances of 0.001:
plot(var001, ask = FALSE)